
#ifndef COMPANYDAO_MOCK_H
#define COMPANYDAO_MOCK_H

#include <stdint.h>
#include <string>
#include "app_platform/cntl_info.h"

#include <set>	
#include "erp/company/ddo/companyinfoddo_company.h"	
#include <map>	
#include "erp/company/ddo/companyfilterddo_company.h"	
#include <vector>	
#include "intf_companydao.h"


namespace erp
{
namespace company
{
namespace dao
{

	class CCompanyDaoMock : public ICompanyDao{
	public:
	    virtual uint32_t AddAndUpdateCompany(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::company::ddo::CCompanyInfoDdo& companyInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t DeleteCompany(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::company::ddo::CCompanyInfoDdo& companyInfo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCompany(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const erp::company::ddo::CCompanyFilterDdo& companyFilter,
				const std::string& inReserve,
				std::string& errmsg,
				std::vector<erp::company::ddo::CCompanyInfoDdo >& companyInfo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			companyInfo = m_companyInfo;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetCompanyByIds(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				const std::set<uint32_t >& companysysNoList,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint32_t,erp::company::ddo::CCompanyInfoDdo >& companyInfo,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			companyInfo = m_companyInfo;
			outReserve = m_outReserve;
			return 0;
	    }		
	
   public:
			std::string m_errmsg;
			std::string m_outReserve;
			std::vector<erp::company::ddo::CompanyInfoDdo > m_companyInfo;
			std::map<uint32_t,erp::company::ddo::CompanyInfoDdo > m_companyInfo;
	};
	
}
}
}

#endif /* COMPANYDAO_MOCK_H */

